Elf: A Language for Logic Definition and Verified Metaprogramming

نویسنده

  • Frank Pfenning
چکیده

We describe Elf, a metalanguage for proof manipulation environments that are independent of any particular logical system. Elf is intended for meta-programs such as theorem provers, proof transformers, or type inference programs for programming languages with complex type systems. Elf unifies logic definition (in the style of LF, the Edinburgh Logical Framework) with logic programming (in the style of λProlog). It achieves this unification by giving types an operational interpretation, much the same way that Prolog gives certain formulas (Horn-clauses) an operational interpretation. Novel features of Elf include: (1) the Elf search process automatically constructs terms that can represent object-logic proofs, and thus a program need not construct them explicitly, (2) the partial correctness of meta-programs with respect to a given logic can be expressed and proved in Elf itself, and (3) Elf exploits Elliott’s unification algorithm for a λ-calculus with dependent types. This research was supported in part by the Office of Naval Research under contract N00014-84-K-0415 and in part by the Defense Advanced Research Projects Agency (DOD), ARPA Order No. 5404, monitored by the Office of Naval Research under

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Elf: a Language for Logic Deenition and Veriied Metaprogramming

We describe Elf, a metalanguage for proof manipulation environments that are independent of any particular logical system. Elf is intended for meta-programs such as theorem provers, proof transformers, or type inference programs for programming languages with complex type systems. Elf uniies logic deenition (in the style of LF, the Edinburgh Logical Framework) with logic programming (in the sty...

متن کامل

Mechanically Verifying the Correctness of an Offline Partial Evaluator

We show that using deductive systems to specify an offline partial evaluator allows one to specify, prototype, and mechanically verify correctness via meta-programming — all within a single framework. For a λ-mix-style partial evaluator, we specify binding-time constraints using a natural-deduction logic, and the associated program specializer using natural (aka “deductive”) semantics. These de...

متن کامل

A Logic Programming Language with Lambda - Abstraction , Function Variables , and Simple Uni cationDale

It has been argued elsewhere that a logic programming language with function variables and-abstractions within terms makes a good meta-programming language, especially when an object-language contains notions of bound variables and scope. The Prolog logic programming language and the related Elf and Isabelle systems provide meta-programs with both function variables and-abstractions by containi...

متن کامل

Using Rewriting Logic to implement FULL

A common problem of automated tools for Formal Methods is their difficulty in dealing with infinite systems. Such systems may arise through the use of infinite data types. For example, in the LOTOS [6] formal description technique the simple process g?x : Nat; exit results in an infinite choice, one for each member of Nat. Rewriting logic [7] is a possible approach to dealing with such systems....

متن کامل

Hierarchical Representation of Legal Knowledge with Metaprogramming in Logic

D We present an application of metaprogramming in logic that, unlike most metaprogramming applications, is not primarily concerned with controlling the execution of logic programs. Metalevel computation is used to define theories from schemata that were either given explicitly or obtained by abstraction from other theories. Our main application is a representation of legal knowledge in a metalo...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1989